Skip to content

Conversation

@Dhanush010
Copy link

  • Add Python 3.12 and 3.13 to package classifiers
  • Update CI/CD workflows to test against Python 3.12 and 3.13
  • Add Gradle test tasks for Python 3.12 and 3.13 (MySQL and PostgreSQL)
  • Update Java and Python enum types to include 3.12 and 3.13
  • Add Docker image mappings for Python 3.12 and 3.13
  • Update documentation to reflect Python 3.8-3.13 support

Resolves #967

Description

 This PR adds support for Python 3.12 and 3.13 to the AWS Advanced Python Wrapper.
 
 ## Changes
 - Added Python 3.12 and 3.13 to package classifiers in `pyproject.toml`
 - Updated CI/CD workflows to test against Python 3.12 and 3.13
 - Added Gradle test tasks for Python 3.12 and 3.13 (MySQL and PostgreSQL variants)
 - Updated Java and Python enum types to include Python 3.12 and 3.13
 - Added Docker image mappings for Python 3.12 and 3.13
 - Updated documentation to reflect Python 3.8-3.13 support
 
 ## Testing
 - All 13 files verified
 - No linting errors
 - Syntax validated
 
 Resolves #967

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Dhanush010 and others added 2 commits November 3, 2025 01:01
- Add Python 3.12 and 3.13 to package classifiers
- Update CI/CD workflows to test against Python 3.12 and 3.13
- Add Gradle test tasks for Python 3.12 and 3.13 (MySQL and PostgreSQL)
- Update Java and Python enum types to include 3.12 and 3.13
- Add Docker image mappings for Python 3.12 and 3.13
- Update documentation to reflect Python 3.8-3.13 support

Resolves aws#967
@Dhanush010
Copy link
Author

Hi maintainers, this PR adds Python 3.12 and 3.13 support across classifiers, CI matrices, integration test tasks, enums, Docker images, and docs (Resolves #967). Could you please approve and run the workflows and review when you have a moment? I’ve updated the branch and verified locally. Thanks!

@karenc-bq
Copy link
Contributor

Thank you for your efforts @Dhanush010!

…ance checks

- Replace MagicMock with real AuroraPgDialect instances in test fixtures
- Fix test_connection_provider to use real class implementing CanReleaseResources
- Fix test_limitless_plugin to use real AuroraPgDialect for dialect checks
- Fix test_multi_az_rds_host_list_provider and test_rds_host_list_provider to use real AuroraPgDialect
- Python 3.12+ has stricter isinstance() checks with Protocols/ABCs
- Maintains backward compatibility with Python 3.8-3.11
@Dhanush010
Copy link
Author

Hi @karenc-bq,
I fixed the Python 3.12+ test failures. The issue was that Python 3.12+ has stricter isinstance() checks with Protocols, so I replaced MagicMock with real AuroraPgDialect() instances in the test fixtures.
Python 3.8-3.11 tests are passing. The branch is updated with the latest upstream changes and ready for review. Could you please review it when you have time, Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for Python 3.12 and 3.13

2 participants